Presencia de mamiferos en las regiones socioeconómicas de Costa Rica

Author

Oscar Mora

Introducción

Costa Rica gracias a su ubicación geografica cuenta con una gran biodiversidad de especies de flora y fauna. Los mamiferos son abundantes en el pais y con los datos obtenidos de portal de datos de la Infraestructura Mundial de Información en Biodiversidad (GBIF). se mostrará la riqueza y distribución en las distintas regiones socioeconimicas obtenidas de Atlas digital de Costa Rica 2014.

Carga de paquetes

Code
library(tidyverse)
library(sf)
library(viridisLite)
library(DT)
library(leafem)
library(leaflet)
library(leaflet.extras)
library(hrbrthemes)
library(ggplot2)
library(plotly)

Carga de datos

Code
# carga regiones socioeconomicas
regiones <- 
  st_read("regiones_socioeconomicas_simp_10m.geojson",
          quiet = TRUE) |> 
  st_transform(4326)

# Carga de datos de mamiferos de Costa Rica
mamiferos <-
  st_read(
    "mamiferos.csv",
    options = c(
      "X_POSSIBLE_NAMES=decimalLongitude", 
      "Y_POSSIBLE_NAMES=decimalLatitude"  
    ),
    quiet = TRUE
  )

# WGS84 de mamiferos  
st_crs(mamiferos) <- 4326

Union de datos

Code
mamiferos_union_regiones <-
  st_join(
    x = mamiferos,
    y = dplyr::select(regiones, region),
    join = st_within
  )
Code
riqueza_especies_mamiferos<-
  mamiferos_union_regiones |>
  st_drop_geometry() |>
  group_by(region) |>
  summarise(riqueza_especies_mamiferos = n_distinct(species, na.rm = TRUE))
Code
regiones_union_riqueza <-
  left_join(
    x = regiones,
    y = riqueza_especies_mamiferos,
    by = "region"
  ) |>
  replace_na(list(riqueza_especies_mamiferos = 0))

Mapa de distribución de de la riqueza de especies de mamiferos en las regiones socioeconómicas en Costa Rica

Code
# Paleta de colores de riqueza de especies
colores_riqueza_especies <-
  colorNumeric(
    palette = "Reds",
    domain = regiones_union_riqueza$riqueza_especies_mamiferos,
    na.color = "transparent"
  )

# Paleta de colores de especies
colores_especies <- colorFactor(
  palette = viridis(length(unique(mamiferos$species))), 
  domain = mamiferos$species
)

# Mapa leaflet
leaflet() |>
  setView(
    lng = -84.19452,
    lat = 9.572735,
    zoom = 7) |>
  addTiles(group = "Mapa general (OpenStreetMap)") |>
  addProviderTiles(
    providers$Esri.WorldImagery, 
    group = "Imágenes satelitales (ESRI World Imagery)"
  ) |> 
  addPolygons(
    data = regiones_union_riqueza,
    fillColor = ~ colores_riqueza_especies(regiones_union_riqueza$riqueza_especies_mamiferos),
    fillOpacity = 0.8,
    color = "black",
    stroke = TRUE,
    weight = 1.0,
    popup = paste(
      paste("<strong>Riqueza de especies:</strong>", regiones_union_riqueza$riqueza_especies_mamiferos),
      sep = '<br/>'
    ),
    group = "Riqueza de especies"
  ) |>
  addScaleBar(
    position = "bottomleft", 
    options = scaleBarOptions(imperial = FALSE)
  ) |>    
  addLegend(
    position = "bottomleft",
    pal = colores_riqueza_especies,
    values = regiones_union_riqueza$riqueza_especies_mamiferos,
    group = "Riqueza de especies",
    title = "Riqueza de especies"
  ) |>
  addCircleMarkers(
    data = mamiferos,
    stroke = F,
    radius = 4,
    fillColor = ~colores_especies(mamiferos$species),
    fillOpacity = 1.0,
    popup = paste(
      paste0("<strong>Especie: </strong>", mamiferos$species),
      paste0("<strong>Localidad: </strong>", mamiferos$locality),
      paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
      paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
      paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
      sep = '<br/>'
    ),    
    group = "Registros de presencia"
  ) |>  
  addLayersControl(
    baseGroups = c(
      "Mapa general (OpenStreetMap)", 
      "Imágenes satelitales (ESRI World Imagery)"
    ),
    overlayGroups = c(
      "Riqueza de especies",
      "Registros de presencia"
    )
  ) |>
  addResetMapButton() |>
  addSearchOSM() |>
  addMouseCoordinates() |>
  addFullscreenControl() |>
  hideGroup("Registros de presencia") 

Tabla de distribución de de la riqueza de especies de mamiferos en las regiones socioeconómicas en Costa Rica

Code
riqueza_especies_mamiferos |>
  dplyr::select(region, riqueza_especies_mamiferos) |>
  datatable(
    colnames = c("Region", "Riqueza de especies"),
    options = list(
      pageLength = 6,
      language = list(url = '//cdn.datatables.net/plug-ins/1.10.11/i18n/Spanish.json')
    ))

Gráfico de distribución de de la riqueza de especies de mamiferos en las regiones socioeconómicas en Costa Rica

Code
grafico_mamiferos_region <-
riqueza_especies_mamiferos |>
  ggplot(aes(x = reorder(region,-riqueza_especies_mamiferos), y = riqueza_especies_mamiferos)) +
  geom_bar(stat = "identity", position = "dodge") +
  ggtitle("Riqueza de especies de mamiferos en las regiones socioeconomicas de Costa Rica") +
  xlab("Region socioeconomicas") +
  ylab("Riqueza de especies")+
  ggthemes::theme_fivethirtyeight()

ggplotly(grafico_mamiferos_region)

registros de presencia de Bradypus variegatus perezoso de tres dedos por año, desde 2000 hasta 2023.

Code
perezosos <-
mamiferos_union_regiones |>
  filter(year >= 2000) |>
  filter(species == "Bradypus variegatus") |>
  ggplot(aes(x = year)) +
  geom_bar() +
  ggtitle("Registro de presencia del Bradypus variegatus (perezoso de tres dedos) 
desde el año 2000 hasta el 2023.") +
  xlab("Año") +
  ylab("Cantidad de perezosos de tres dedos") +
  ggthemes::theme_fivethirtyeight()

ggplotly(perezosos)